package com.auxgroup.smarthome.inner.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.hibernate.validator.constraints.URL;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * Created by niuGuangzhe on 2017/7/25.
 */
@ApiModel(value = "设备型号操作实体")
public class DeviceModelInfoDto {

    @ApiModelProperty(value = "设备型号")
    @Size(min = 1, max = 128, message = "型号最小长度为1，最大长度为128")
    private String model;

    @ApiModelProperty(value = "设备型号描述")
    @Size(min = 1, max = 1000, message = "型号描述最小长度为1，最大长度为1000")
    private String modelDescribe;

    @ApiModelProperty(value = "设备广告描述")
    @Size(min = 1, max = 255, message = "广告描述最小长度为1，最大长度为255")
    private String advertise;

    @ApiModelProperty(value = "适用类型标识")
    @NotNull(message = "适用类型必须填写")
    private Integer suitType;

    @ApiModelProperty(value = "挂机、柜机标识")
    @NotNull(message = "挂机/柜机必须填写")
    private Integer useType;


    @ApiModelProperty(value = "设备主模块url")
    @URL
    private String deviceMainUri;


    @ApiModelProperty(value = "设备型号图片地址url")
    @URL
    private String entityUri;

    @ApiModelProperty(value = "设备型号配网步骤地址url")
    @URL
    private String stepUri;

    @ApiModelProperty(value = "配网步骤(json)")
    @NotNull(message = "配网步骤必须填写")
    private String step;

    @ApiModelProperty(value = "新设备还是旧设备,新设备：1 旧设备：0")
    @NotNull(message = "设备新旧必须填写")
    private Integer deviceType;

    @ApiModelProperty(value = "型号功能列表(json)")
    @NotNull(message = "设备功能必须填写")
    private String feature;

    @ApiModelProperty(value = "型号类别：\n" +
            "     * 0：挂机\n" +
            "     * 1：柜机\n" +
            "     * 2：单元机\n" +
            "     * 3：多联机")
    @NotNull(message = "型号类别必须填写")
    private Integer category;


    public String getModel() {
        return model;
    }

    public void setModel(String model) {
        this.model = model;
    }

    public String getModelDescribe() {
        return modelDescribe;
    }

    public void setModelDescribe(String modelDescribe) {
        this.modelDescribe = modelDescribe;
    }

    public String getAdvertise() {
        return advertise;
    }

    public void setAdvertise(String advertise) {
        this.advertise = advertise;
    }

    public Integer getSuitType() {
        return suitType;
    }

    public void setSuitType(Integer suitType) {
        this.suitType = suitType;
    }

    public Integer getUseType() {
        return useType;
    }

    public void setUseType(Integer useType) {
        this.useType = useType;
    }

    public String getDeviceMainUri() {
        return deviceMainUri;
    }

    public void setDeviceMainUri(String deviceMainUri) {
        this.deviceMainUri = deviceMainUri;
    }

    public String getEntityUri() {
        return entityUri;
    }

    public void setEntityUri(String entityUri) {
        this.entityUri = entityUri;
    }

    public String getStepUri() {
        return stepUri;
    }

    public void setStepUri(String stepUri) {
        this.stepUri = stepUri;
    }

    public String getStep() {
        return step;
    }

    public void setStep(String step) {
        this.step = step;
    }

    public Integer getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(Integer deviceType) {
        this.deviceType = deviceType;
    }

    public String getFeature() {
        return feature;
    }

    public void setFeature(String feature) {
        this.feature = feature;
    }

    public Integer getCategory() {
        return category;
    }

    public void setCategory(Integer category) {
        this.category = category;
    }

}
